SUPPORT / SAMPLES & SAS NOTES
 

Support

Installation Note 63918: SAS® Life Science Analytics Framework Java API 1.8.2 - Release Notes

DetailsDownloadsAboutRate It

SAS® Life Science Analytics Framework (LSAF) API release 1.8.2 is available for use with LSAF Version 4.7.3 or 4.7.4.

The table below lists the issues which have been addressed in LSAF API release 1.8.2:

 

SAS Note Number Title
60749 isMember method takes implicit membership into account when determining membership
60986 RepositoryResourceService method undoCheckout fails when checked out file is owned by another user
62458 lsaf_markforaddandcheckin results in an exception if file marked for add and not checked in
63851 Error occurs when individual member added to project permission area and API user lacks privilege
63866 Signal information from completed signal events is not returned in completed process flow elements
64014 Security enhancements

 

For reference purposes, the Release Notes for LSAF API Release 1.8.1 are included below: 

The table below contains defects that have been fixed in the LSAF API release 1.8.1.

 

Title

Description

JobService:

createJobInWorkspace methods require parent path to start with /SAS.

The createJobInWorkspace methods would fail with a ResourceNotFoundException if the parent path did not start with /SAS. This restriction has been removed.

BatchResourceService:

uploadAndExpand returns an error if the ZIP file provided contains a path with an ampersand (&).

If uploadAndExpand is called with a ZIP file containing a path that has an ampersand (&), the files upload to the system, but the ActionStatus returned indicates an error retrieving action status. As of API release 1.8.1, the ActionStatus returned indicates a successful upload.

 

The table below describes changes to the LSAF API in release 1.8:

 

Title

Description

Change current user password

The method, changePassword, has been added to the UserService to allow changing the current user’s password.

Check for privilege at context

The method, hasPrivilegeAtContext, has been added to the RoleAssignmentService to check if a principal has a privilege at a context.

ProcessFlowService

The new ProcessFlowService provides methods to manage process flows. With this service, a user can:

  • Get a list of process flows
  • Create, update, and delete process flows
  • Retrieve and update process flow element definitions ( task setup)
  • Get current (active) elements of a process flow
  • Get completed elements of a process flow
  • Create process flow manifests

Support encrypted passwords

The method, encryptPassword, has been added to the UserService to support encrypting unencrypted passwords.  The encrypted password can be used to log on to the system through the API only.

User license type

AccountInfo, available on the User object, now surfaces license type information.

External authentication

The following methods have been added to the UserService to support external authentication:

  • getAuthenticationProviderInfos
  • setExternalAuthenticationByUserId
  • setDefaultAuthenticationByUserId

Note the AccountInfo, setAuthenticator, and setAuthenticatorUsername methods have been deprecated as this information must be set by the new service methods above.

Run and populate job

The method, submitJobInWorkspaceAndPopulate, has been added to the JobExecutionService to support running a job and updating the input and output specifications based on inputs and outputs accessed during job execution.

Manage copy to workspace behavior

The methods, getSyncable, and setSyncable, are now available on repository items.  This value allows users to control copy behavior from the repository to the workspace.

Get checked out files

Query methods for retrieving a list of checked out files is now available on the RepositoryResourceService.  It allows querying by user ID, name, and location.

SasSessionService

The new SasSessionService provides methods for managing SAS Sessions.  With this service, a user can:

  • Get a list of SAS sessions
  • End and delete SAS sessions
  • Get log and listing of a SAS session
  • Save log and listing to current user’s workspace
  • Get job submission information (including job status) for a SAS Session

Recycle bin querying

The RecycleBinService now contains methods for querying recycle bin items. Recycle bin items can now be queried by name, path, date, and deletedBy.

Job manifest support

The JobExecutionService now provides a way to access job manifests by path or by job submission.  The following methods have been added:

  • getManifestByRespositoryPath
  • getManifestByJobSubmission
  • getJobSubmissionsByJobPath
  • getLatestJobSubmissionByJobPath

Search Service

The new SeachService provides a way to query repository items.  Repository items can be queried by location, name, object type, owner, modified date, modified by, created date, created by, and synchronization status.  File content searches are also supported.

Get absolute path  

The RelativePathUtility now provides the method, getAbsolutePath, to get the absolute path based on a base path and a relative path.

GroupService isMember

The GroupService method, isMember, now has a new parameter, which allows to specify whether to check for explicit or implicit membership.  Note the old isMember method has been deprecated.

ParameterValue equals method change   

The equals method on ParameterValue has been changed from checking name and value to check only name.

 

The table below contains defects that have been fixed in the LSAF API release 1.8.

 

Title

Description

RepositoryResourceService:

Enable and disable versioning comment not shown in audit trail

The comment parameter provided in the enableVersioningOnFile and disableVersioningOnFile methods was not showing up in the audit trail for the corresponding action.  It is now correctly displayed in the audit trail in API release 1.8.

RepositoryResourceService:

undoCheckout fails if undo check-out on file owned by another user

If the undoCheckout method was called on a file owned by another user, the call would fail with a RepositoryResourceUndoCheckoutException saying it could not undo the check-out.  As of API release 1.8, you can successfully undo check-out a file owned by another user.

WorkspaceResourceService:

create file and upload and expand fail at workspace root  

Calling the WorkspaceResourceService createFile method with file path in root (ex: /file.txt) results in an IllegalArgumentException.  Similarly, calling the BatchWorkspaceResourceService  uploadAndExpand method with folder path root (/) fails with an action status reflecting a ZIP error. Both of these issues have been fixed and you can successfully create a file and upload and expand files in workspace root in API release 1.8.

 

The table below contains known limitations in the LSAF API release 1.8.

 

Title

Description

SASSessionService: Cannot open log or lst for session whose owner has an invalid account

If a user tries to access the log or listing for a SAS session whose owner does not have an active user account, you get a message saying that user is not authorized to view the file for that session. This occurs if the owner account is inactive, locked, or password is expired. This is a limitation in LSAF version 4.7.1 and is going to be addressed in a future release.

See Problem Note 59938: SAS Life Science Analytics Framework 4.7.1 - Cannot open log or lst for a SAS Session whose owner does not have a valid account for more details.

RoleAssignmentService: hasPrivilegeAtContext method for a subgroup is returning the incorrect value temporarily because of a caching problem

If you add or remove a subgroup that has a privilege assigned by a role, when you call hasPrivilegeAtContext for that subgroup, the incorrect value is returned temporarily. It returns the correct value once the cache is correctly updated that is typically 20 minutes. 

 



Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Life Science Analytics FrameworkLinux for x644.7.14.7.39.4 TS1M39.4 TS1M3
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.